费用 内容 业务流程 费用产品 费用供应商 费用单 例1:物流费用 例2:客户费用 例3:费用报销 例4:资源申请 例子:手工分摊(待完善) 费用EXPENSE在口头语中是花销、支出,对于财务来说,费用是应付,是成本的来源。 费用可能采购于外部,比如物品、服务,外部供应商肯定会提供应付发票。如果启用资产模块,低值易耗品的采购,在财务上当作“资产(费用)”处理(无折旧、按财务准则一次或者五五摊销)。 费用也可能采购于内部雇员,比如工资、报销,ID都会如实记录应付发票(账单),而中国税务规定工资支出无需雇员提供正式发票,直接做表扣减成本即可,但费用(差旅费)报销需要按供应商发票报销。 费用单允许记录在项目、市场活动中发生的费用或者时间,它还可以对雇员生成报销发票,也可以对客户生成时间报表或者材料账单。 由于产品可提供更多的统计维度,凡是需要管控的费用,都可以产品化。 产品化费用的好处是科目表无需创建明细科目。比如: 1. 低值易耗品。(实物、无库存。如果需要跟踪,可以设置为资产) 2. 房租。(无形产品、无库存,可转让) 3. 水电费。(有形产品、无库存) 4. 物业费。(无形产品、无库存) 5. 通讯费。(无形产品、无库存,也可转让)(部门通讯费用统计) 6. IT费用。(无形产品、无库存,也可转让)(项目IT费用统计) 7. 季节性生产企业在停工期内的费用 8. 一次交纳数额较大需分摊的印花税 9. 固定资产修理费用等 业务场景有: 1. 员工登记项目费用(应收发票) 2. 员工费用报销(应付发票) 业务流程 注意: 1. 从习惯上定义,“产品/服务/资源”表示可销售物品或者劳务,“费用”表示可采购物品或者劳务。 2. 员工对客户项目投放的产品/服务/资源,先完成产品主数据(产品、税、价格表)。 3. 时间报表,不会产生费用金额,无法报销。只能用于内部员工工作量统计(需做一个窗口或者报表)。 4. 员工费用单表头无维度字段,所发生费用可从费用明细或者报销的应付发票统计。 员工费用处理流程 费用核算流程 费用产品 对于常见费用,可使用“产品”管理,无库存(但出入库有分录),可设置会计科目。 优点:可从“产品”“供应商”“价格”维度进行详细费用统计 缺点:需要设置产品、供应商、价格,比较繁琐 步骤: 1. 新建费用类型。”是否开票“,表示是否对客户进行销售。 2. 费用类型保存后,会自动创建一个“费用产品”记录。 费用供应商 如果费用太多,供应商太杂,可使用杂费,直接采购杂费进账户科目。 优点:简单、快速 缺点:无法从“产品”“供应商”维度进行详细费用统计 费用单 步骤: 1. 新建费用单,选择雇员、价格表、仓库(“仓库”,表示费用或者服务发生地点) 2. 新建明细,如果需要对客户生成AR发票,选择产品及其他,选择“是否开票”=是,最后必须选择业务伙伴 3. 如果费用单销售给客户,只能选择“产品/服务/资源”,【不要选择费用产品】。 4. 如果报销员工费用,输入费用产品,费用单价依据表头价格表标准价取值 5. 如果只是输入时间报表,该费用单价自动归零,不会产生报销金额 例1:物流费用 解释: 采购订单发生的物流费用 场景: 从供应商A采购一批产品,供应商A,先送货到第三方物流B,除了产品另加500元送货费用。 第三方物流供应商B,再送货到我方仓库,开1000元物流发票。 步骤: 1. 新建采购订单,供应商A,明细=产品 2. 新建收货单,供应商A,明细=产品 (必须先收货,否则到岸成本无法分摊) 3. 新建应付发票1,供应商A,明细1=产品,明细2=杂费500元(明细2下钻 到岸成本,继续分摊) 4. 新建应付发票2,供应商B,明细1=费用产品1000元(明细1下钻 到岸成本,继续分摊) 这样,2个供应商的1500物流成本全部分摊到产品的材料成本账户。 1. 移动平均,暂估的到岸成本会加入存货成本计算。 2. 但是,移动平均真的好多bug https://idempiere.atlassian.net/browse/IDEMPIERE-1531?jql=summary%20~%20cost%20AND%20resolution%20in%20(Unresolved%2C%20%22Won%27t%20Fix%22%2C%20Duplicate%2C%20Incomplete%2C%20%22Cannot%20Reproduce%22) 分摊到多个入库单产品 1. 费用明细,分摊到岸成本,可以选择多个入库单。 2. 每次添加入库单,点击”成本分摊“,都会更新分摊结果。 例2:客户费用 解释: 项目中,我方发生的服务/产品投放,计入客户账单,准备开票收款。 场景: 我方咨询顾问,对客户提供3个咨询服务产品,1个小时的时间费用(仅作内部统计工时)。 对所投放到项目的产品生成销售订单,对客户进行收费。 步骤: 1. 新建服务产品=咨询服务,创建价格记录 2. 新建时间类型=培训 4. 新建费用单,业务伙伴=我方顾问 4.1 明细1=服务产品=咨询服务,数量=3,业务伙伴=客户,是否开票=是(开票价格非0时,覆盖价格表价格) 4.2 明细2,无产品,时间报表=是,数量=1,是否开票=否 (不开票不销售,只做内部统计工时) 5. 运行“从服务费用单创建销售订单”流程,业务伙伴=客户,生成销售订单(赊销) 6. 完成订单,自动生成发货单和应收发票 6.1 服务产品,非库存物品,无出库分录,但是系统计算其成本为第一次AR发票价格。 6.2 时间报表,仅作时间工作量记录,也无法报销。 注意 ExpenseAPInvoice.java (org.adempiere.base.process\src\org\compiere\process) ExpenseAPInvoice.doIt ~~~ Line 126 invoice.setDocumentNo (te.getDocumentNo()) ~~~ 原因:流程将TimeExpense费用单的单号给发票,系统提示重号(bp+TargetDocType+DocNo必须唯一) 来源:财务管理-财务规则-序列号,AP发票 = 费用单单号,导致出错 解决办法: 1. 直接去后台改费用单单号 2. 然后,修改AP发票的单号定义(AP Invoice),或者费用单的单号定义(DocumentNo_S_TimeExpense),让2者无法重号,默认都是1000000开始编号。 参考:序列号 例3:费用报销 解释: 雇员的日常费用、差旅费报销 场景: 雇员报销车费、住宿费 步骤: 1. 新建费用单,业务伙伴=雇员 2. 新建明细1=车费,是否开票=否 3. 新建明细2=住宿费,是否开票=否 4. 运行“从费用报销创建应付发票”流程,业务伙伴=雇员,生成应付发票,等待财务报销付款。 发票 vs 账单 对于金税系统所征收的发票,实际为外部流转发票,比如外部采购发票,对外销售发票。 iD系统的发票,比金税发票概念更广,意为财务角度的债权债务账单,比如内部应付工资、内部应收利息。 例4:资源申请 解释: 员工占用内部资源(会议室),不对客户销售,不需要报销。 场景: 员工预定会议室 步骤: 1. 新建费用单(或者改名字:资源申请单),业务伙伴=申请人 2. 新建明细1=产品资源(会议室),资源分配=会议时间,选择“时间报表“(表示不报销) 3. 完成费用单,等待审批 会议室申请 资源分配信息 例子:手工分摊(待完善) 费用和吸收对象之间是”多对多“关系。如果费用”多对一“时单独分摊到系统默认维度(比如项目)是很好统计的。如果费用”一对多“被N个维度所分摊,就不好统计了。其中的业务的需求挑战有: 1. 费用先发生,吸收对象后发生,需要自动采集 2. 吸收对象一直存在,费用陆续发生,需要自动吸收 仿照”到岸成本“的实现方式,设计如下。 实现功能: 1. 费用订单和发票下挂分摊定义:对象、期间 2. 吸收对象创建后,会自动在费用期间内平摊费用。 数据库: 1. 新建2个预摊相关表:预摊定义,预摊结果 2. 新建2个吸收相关表:吸收定义,吸收结果 3. 在需要的对象表增加相应2个字段:预摊费用,吸收费用,表示费用成本。 后端: 1. 仿照“到岸成本”逻辑,抄。 前端: 1. 采购订单下,新建2个子页签 2. 发票明细下,新建2个子页签 3. 新建自定义窗体:手工费用分摊 4. 各核算维度下(比如订单,项目,营销活动等),新建2个结果页签:预摊结果,吸收结果 采购订单预摊 发票明细吸收 手动预摊/吸收